home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 015a / qtec0930.zip / PROTMAN.TEC < prev    next >
Text File  |  1991-09-30  |  5KB  |  114 lines

  1. ID:PR Using Optimize with PROTMAN.DOS
  2. Quarterdeck Technical Note #207
  3. by the Quarterdeck Compatibility Dept.
  4.  
  5. PROTMAN.DOS is the protocol manager for Microsoft's MS-DOS LAN 
  6. Manager.  It is also used in 3COM's 3Open network configuration, 
  7. and in many other network software configurations.  PROTMAN is a 
  8. device driver that is loaded from the CONFIG.SYS file, and is 
  9. usually the first piece of network software loaded.
  10.  
  11. PROTMAN.DOS seems to need only 100 bytes or so of memory for 
  12. itself, but it puts a chunk of additional code in available 
  13. memory, 32K from the top of whatever region of memory it is loaded 
  14. into.  This code, which is used by other network programs that 
  15. make calls to PROTMAN, is completely exposed to any other program 
  16. that allocates memory from DOS.  The PROTMAN programmers, 
  17. realizing that this exposed code would only be exercised by other 
  18. network drivers and TSR's, no doubt assumed that it would not be 
  19. overwritten until after it was no longer needed.  This assumption 
  20. is not necessarily valid when programs are being loaded between 
  21. 640K and 1024K.  
  22.  
  23. Among the possible consequences of PROTMAN's unusual behavior: 
  24.  
  25. 1) Any program loading high into a region with PROTMAN is likely 
  26. to bomb the code that PROTMAN places in available memory, thus 
  27. causing subsequent network programs to fail.
  28.  
  29. 2) PROTMAN writes some of itself 32K from the top of its memory 
  30. region, regardless of the size of the region.  If you load PROTMAN 
  31. in a 32K region between 640K and 1024K, it will write right over 
  32. itself, and the system will hang as PROTMAN loads in the 
  33. CONFIG.SYS routine.  If you load PROTMAN in a 16K region, it will 
  34. write over something beneath it in memory, with unpredictable 
  35. results. 
  36.  
  37. 3) LOADHI's /GETSIZE (/GS) parameter writes its signature 
  38. throughout available memory as a method of determining how much 
  39. memory a driver or TSR uses when loading.  When used after 
  40. PROTMAN, LOADHI /GS will overwrite PROTMAN's exposed code, which 
  41. is in memory that DOS reports as unused.  In such a case, network 
  42. programs that load after PROTMAN and make calls to it usually hang 
  43. the system, giving an Exception #13 error on systems using QEMM-
  44. 386. 
  45.  
  46. 4) Optimize, which relies on LOADHI /GS, will likely fail in the 
  47. Detection Phase when PROTMAN is loaded.  The system will usually 
  48. hang, not when PROTMAN loads, but when one of the subsequent 
  49. network drivers or TSR's loads.
  50.  
  51. ------------------------------
  52.  
  53. We have tested a method which lets users run Optimize on PROTMAN 
  54. systems without getting Exception #13's during the Detection 
  55. Phase.  This method should leave your system configured in such a 
  56. way that all four of the above dangers are avoided. 
  57.  
  58. 1) Place the RAM parameter on QEMM-386 or QEMM-50/60, or install 
  59. QRAM in the CONFIG.SYS file.  Reboot, and make sure that the 
  60. biggest High RAM region (as reported on Manifest's First 
  61. Meg/Overview screen) is at least 33K in size.  
  62.  
  63. If the largest High RAM region isn't at least 33K big, you cannot 
  64. run Optimize with PROTMAN, and you should not proceed to step 2.  
  65. Instead, you should manually place LOADHI.SYS and LOADHI.COM on 
  66. every line in the CONFIG.SYS and AUTOEXEC.BAT file that contains a 
  67. program that you want to load high.  (See the LOADHI chapter in 
  68. your QEMM or QRAM manual for more details.)  Do not, however, 
  69. place LOADHI on the PROTMAN line.  Then, reboot without running 
  70. Optimize.  This configuration should let you successfully load 
  71. most of your programs high. 
  72.  
  73. 2) If you have any programs that allocate Upper Memory Blocks 
  74. (UMB's) through the Extended Memory Specification, you may wish to 
  75. stop them from doing so (by using the programs' own parameters) 
  76. before proceding further.  Such programs can interfere with 
  77. Optimize's calculations under any circumstances; with the 
  78. procedure that we are about to use, a program that allocates a UMB 
  79. may cause network drivers or TSR's to fail.
  80.  
  81. 3) If your biggest High RAM region is 33K or larger, start 
  82. Optimize.  Let Optimize modify your CONFIG.SYS and AUTOEXEC.BAT 
  83. files in preparation for the Detection Phase.  When you see the 
  84. Optimize screen titled "DETECTION PHASE," hit Esc, then F1, to 
  85. break out of Optimize.
  86.  
  87. 4) Use an editor to edit the PROTMAN line in the CONFIG.SYS file.  
  88. Remove all the parameters to LOADHI.SYS on that line.  (There 
  89. should be two: a /GS parameter that directs the /GETSIZE data to 
  90. LOADHI.OPT, and a LABEL parameter.)  Leave LOADHI.SYS and all 
  91. PROTMAN's parameters on the line.  And let all the other lines 
  92. alone.
  93.  
  94. For example, if the PROTMAN line in the CONFIG.SYS says: 
  95.  
  96. DEVICE=C:\QEMM\LOADHI.SYS /GS:C:\QEMM\LOADHI.OPT /LABEL:AB 
  97. ...C:\LANMAN\PROTMAN.DOS /I:C:\LANMAN\PROTOCOL.INI
  98.  
  99. ...then change the line to: 
  100.  
  101. DEVICE=C:\QEMM\LOADHI.SYS C:\LANMAN\PROTMAN.DOS 
  102. .../I:C:\LANMAN\PROTOCOL.INI
  103.  
  104. 5) Reboot and let Optimize complete normally.
  105.  
  106. -------------------------------
  107.  
  108. When you're all done, PROTMAN will be loaded low, but it only uses 
  109. 100 bytes or so.  All other programs will be Optimized.
  110.  
  111.       Copyright (C) 1991 by Quarterdeck Office Systems 
  112.                * * * E N D  O F  F I L E * * *
  113.  
  114.